Modeling for Automated Cloud Application Testing
نویسندگان
چکیده
Developer testing (also called unit testing) can help ensure the development of high-quality cloud applications. However, unit testing normally can’t take into account all possible inputs because the input space is too large or even infinite. So, developers need criteria to decide which test inputs to use and when to stop testing. Effective use of criteria such as structural-code coverage can help reveal faults. Manually writing test cases to achieve high structural coverage requires developers to consider implementation details, making this task laborious and time-consuming. Also, developers sometimes have problems providing specific combinations of test inputs and cloud states to cover specific paths or blocks. To reduce the manual effort, they can employ automated test generation tools that use dynamic symbolic execution (DSE),1 such as Pex (http://research.microsoft. com/projects/pex), a constraint-solving technique based on path exploration. But these tools fail to generate highcovering test inputs because they can’t generate a required cloud state or can’t control the cloud state. Using stub cloud models could help alleviate these issues (see “Related Work” sidebar). With such models, developers can simulate a real cloud environment with a fake stub that provides default or user-defined return values to cloud-related API method calls. However, these values won’t help achieve high structural coverage, and writing such a model requires much manual effort. A parameterized cloud model extends a stub cloud model to enable generation of appropriate return values for covering different paths or blocks. Typically, a simple parameterized model would assume that every return value was possible as long as it could lead to a new path, even when this return value wasn’t feasible in a real cloud environment. Without reflecting the actual cloud environment’s logic or state consistency, such a model could cause false warnings among reported failing tests. To achieve high structural coverage for cloud applications while causing few false warnings, we’ve developed an approach that combines a simulated cloud model and DSE. It uses
منابع مشابه
Environment Modeling for Automated Testing of Cloud Applications
Recently, cloud computing platforms, such as Microsoft Azure, are available to provide convenient infrastructures such that cloud applications could conduct cloud and data-intensive computing. To ensure high quality of cloud applications under development, developer testing (also referred to as unit testing) could be used. The behavior of a unit in a cloud application is dependent on the test i...
متن کاملAutomated Testing of Cloud Applications
Recently, cloud computing platforms, such as Microsoft Azure, are available to provide convenient infrastructures such that cloud applications could conduct cloud and data-intensive computing. To ensure high quality of cloud applications under development, developer testing (also referred to as unit testing) could be used. Generally, manual developer testing is time consuming and labor intensiv...
متن کاملReal-Time Building Information Modeling (BIM) Synchronization Using Radio Frequency Identification Technology and Cloud Computing System
The online observation of a construction site and processes bears significant advantage to all business sector. BIM is the combination of a 3D model of the project and a project-planning program which improves the project planning model by up to 6D (Adding Time, Cost and Material Information dimensions to the model). RFID technology is an appropriate information synchronization tool between the...
متن کاملROAR: A QoS-oriented modeling framework for automated cloud resource allocation and optimization
Cloud computing offers a fast, easy and cost-effective way to configure and allocate computing resources for web applications, such as consoles for smart grid applications, medical records systems, and security management platforms. Although a diverse collection of cloud resources (e.g., servers) is available, choosing the most optimized and cost-effective set of cloud resources for a given web...
متن کاملDeclarative vs. Imperative: Two Modeling Patterns for the Automated Deployment of Applications
In the field of cloud computing, the automated deployment of applications is of vital importance and supported by diverse management technologies. However, currently there is no systematic knowledge collection that points out commonalities, capabilities, and differences of these approaches. This paper aims at identifying common modeling principles employed by technologies to create automaticall...
متن کامل